The attached patch to 1) fix a 64-bit bug with some of the data packing,
authorkaf24@firebug.cl.cam.ac.uk <kaf24@firebug.cl.cam.ac.uk>
Wed, 2 Nov 2005 10:21:46 +0000 (11:21 +0100)
committerkaf24@firebug.cl.cam.ac.uk <kaf24@firebug.cl.cam.ac.uk>
Wed, 2 Nov 2005 10:21:46 +0000 (11:21 +0100)
and 2) adds a workaround for an Infineon TPM hardware bug.

Signed-off-by: Vinnie Scarlata, Joseph Cihula (@intel.com)
tools/vtpm_manager/manager/vtpm_manager.c
tools/vtpm_manager/manager/vtsp.c
tools/vtpm_manager/util/buffer.h
tools/vtpm_manager/util/tcg.h

index 8d71ab07766c11ce45a1c6670411b181376def9c..48143fbc3bd3e8e4b117b52ebc1c67385eb6a0f4 100644 (file)
@@ -140,12 +140,15 @@ TPM_RESULT VTPM_Create_Service(){
   TPM_AUTHDATA sharedsecret;
   
   TPMTRYRETURN( VTSP_OSAP(vtpm_globals->manager_tcs_handle,
-                         TPM_ET_SRK,
-                         0
+                         TPM_ET_KEYHANDLE,
+                         TPM_SRK_KEYHANDLE
                          (const TPM_AUTHDATA*)&vtpm_globals->srk_usage_auth,
                          &sharedsecret, 
                          &osap) ); 
-  
+
+  osap.fContinueAuthSession = FALSE;
   TPMTRYRETURN( VTSP_CreateWrapKey( vtpm_globals->manager_tcs_handle,
                                    TPM_KEY_BIND,
                                    (const TPM_AUTHDATA*)&vtpm_globals->storage_key_usage_auth,
index 1351be55b2412b22ee91b4a2af9cdf22dabf6ce0..c2cbc43a0b7f96181acaa46e117c31e0b0859fe3 100644 (file)
@@ -180,8 +180,8 @@ TPM_RESULT VTSP_OSAP(const TCS_CONTEXT_HANDLE hContext,
   Crypto_GetRandom((BYTE *) &nonceOddOSAP, sizeof(TPM_NONCE) ); \r
   \r
   TPMTRYRETURN( TCSP_OSAP(    hContext,\r
-                             TPM_ET_SRK,\r
-                             0\r
+                             entityType,\r
+                             entityValue\r
                              nonceOddOSAP,\r
                              &auth->AuthHandle, \r
                              &auth->NonceEven, \r
index ea5f048af9d858c07e4197a6b75ee4629245f520..9fdf7ea60f1d9759e6d2ec284b2c0e16e626e114 100644 (file)
 #include <stddef.h>             // for pointer NULL
 #include "tcg.h"
 
-// structure to enable use of FMT_SIZE32_DATA in BSG_Unpack
-typedef struct pack_buf_t {
-  UINT32 size;
-  BYTE * data;
-} pack_buf_t;
-
-// and a const version for Pack
-typedef struct pack_constbuf_t {
-  UINT32 size;
-  const BYTE* data;
-} pack_constbuf_t;
-
 typedef UINT32 tpm_size_t;
 
 // first version, probably will be expanded...
index 741ffe21fdde385da10ea43022f5cc35ef17670b..79f31ba6885d785cecef1e19c6fcbddbb779a14c 100644 (file)
@@ -191,6 +191,20 @@ typedef struct TCS_AUTH {
   TPM_AUTHDATA  HMAC;
 } TCS_AUTH;
 
+// structures for dealing with sizes followed by buffers in all the
+// TCG structure.
+typedef struct pack_buf_t {
+  UINT32 size;
+  BYTE * data;
+} pack_buf_t;
+
+typedef struct pack_constbuf_t {
+  UINT32 size;
+  const BYTE* data;
+} pack_constbuf_t;
+
+
+
 // **************************** CONSTANTS *********************************
 
 // BOOL values